package model

import (
	"gorm.io/gorm"
	"time"
)

type DataAdmin struct {
	ID        int64  `json:"id" gorm:"id"`
	FtpInfoId int64  `json:"ftp_info_id" gorm:"ftp_info_id"` // ftp_info_id
	Date      string `json:"date" gorm:"date"`               // 日期
	Time      string `json:"time" gorm:"time"`               // 时间
	LogTime   int64  `json:"log_time" gorm:"log_time"`       // log_time
	SteamId   string `json:"steam_id" gorm:"steam_id"`       // 时间
	GameId    int64  `json:"game_id" gorm:"game_id"`         // 游戏id
	GameName  string `json:"game_name" gorm:"game_name"`     // 游戏名称
	CmdType   string `json:"cmd_type" gorm:"cmd_type"`       // 指令类型
	Content   string `json:"content" gorm:"content"`         // 内容
	UpdatedAt int64  `json:"updated_at" gorm:"updated_at"`   // 修改时间
	CreatedAt int64  `json:"created_at" gorm:"created_at"`   // 添加时间
}

func (DataAdmin) TableName() string {
	return "sm_data_admin"
}

func (u DataAdmin) BeforeUpdate(tx *gorm.DB) (err error) {
	now := time.Now()
	unixTime := now.Unix()
	u.UpdatedAt = unixTime
	u.CreatedAt = unixTime
	return nil
}

type DataAdminM struct {
	DB *gorm.DB
}

func NewDataAdminM() *DataAdminM {
	return &DataAdminM{
		GetDB(),
	}
}

func (c *DataAdminM) InsertDataAdmin(DataArr []DataAdmin) bool {

	result := c.DB.Omit("id").CreateInBatches(DataArr, 1000)

	if result.Error != nil {
		panic(result.Error)
	}
	return true
}
